$(function () {
  $("#loginBox a").on("click", () => {
    //点击按钮 loginBox隐藏 registerBox 显示
    $("#loginBox").hide();
    $("#registerBox").show();
    console.log($(this));
  });
  $("#registerBox a").on("click", () => {
    //点击按钮 loginBox显示 registerBox 隐藏
    $("#loginBox").show();
    $("#registerBox").hide();
  });
});

//需求2:自定义校验规则
console.log(layui.form);
let form = layui.form;
//verify()是一个对象
form.verify({
  //属性是规则名称,值可以使数组或者函数
  pwd: [
    //第一个值,是校验规则
    /^[\S]{6,12}/,
    //报错信息
    "密码的长度为6-15个字符，且不能包含空格!",
  ],
  repwd: function (value) {
    // value 规则添加给谁,value就是他的
    //value也可以写成 $("[name=repassword]").val();
    let pwd = $("#registerBox [name=password]").val();
    //判断:第一次输入的密码和第二次密码如果不同,报错
    if (value !== pwd) {
      return "输入两次密码不同";
    }
  },
});
//需求3:注册(axios)

let layer = layui.layer;
$("#form-reg").on("submit", function (e) {
  e.preventDefault();
  //发送axios请求
  axios({
    method: "POST",
    url: "/api/reguser",
    //这个服务器,后端不允许传递 josn 格式数据,只允许传递a=1&b=2&c=3
    data: $("#form-reg").serialize(),
  }).then((res) => {
    console.log(res);
    //判断状态
    if (res.data.status !== 0) {
      return layer.msg(res.data.message);
    }
    //这测成功
    //alert(res.data.message);
    layer.msg("恭喜,注册成功");
    //清空表单
    $("#form-reg")[0].reset();
    //切换到登陆
    $("#registerBox a").click();
  });
});

//需求4: 登陆
$("#form-login").on("submit", function (e) {
  e.preventDefault();
  axios({
    method: "post",
    url: "/api/login",
    data: $("#form-login").serialize(),
  }).then((res) => {
    console.log(res);
    let obj = res.data;
    if (obj.status !== 0) {
      return layer.msg(obj.message);
    }
    //成功:提示 跳转 保存token
    //layer.msg("恭喜,登陆成功");
    layer.msg("来了,老弟", function () {
      location.href = "/index.html";
      localStorage.setItem("token", obj.token);
    });
  });
});
